ggplot2: Basics

ggplot2: Das Paket


ggplot2 gehört zum tidyverse

#install.packages("tidyverse")
library(tidyverse)


… kann aber natürlich auch seperat geladen werden:

#install.packages("ggplot2")
library(ggplot2)

Komponenten

Übersicht

Daten vorstellen

#|echo: false
#|eval: false


install.packages("tidytuesdayR")
The following package(s) will be installed:
- tidytuesdayR [1.1.2]
These packages will be installed into "~/GitHub/PlotWorkshop/renv/library/windows/R-4.4/x86_64-w64-mingw32".

# Installing packages --------------------------------------------------------
- Installing tidytuesdayR ...                   OK [linked from cache]
Successfully installed 1 package in 14 milliseconds.
library(tidytuesdayR)

tuesdata <- tidytuesdayR::tt_load('2022-08-16')


## Sowas wie Female Darstellung in Sitcoms over time? Also man köñnte sich schon interessante Zusammenhänge zwischen Darstellung von Figuren über die Zeti anschauen?

characters_psych <- tuesdata$psych_stats %>% 
  select(char_name, uni_name, personality, avg_rating) %>% 
  # filter(uni_name %in% c("Friends", "How I Met Your Mother", "Breaking Bad")) %>% 
  filter( personality %in% c("sexual", "bossy")) %>% 
  pivot_wider(names_from = personality, values_from = avg_rating)

ggplot(characters_psych, aes(x = sexual, y = bossy)) +
  geom_point() + 
  geom_smooth(method = "lm")

## Eventuell später mit PCA oder so interessant
  

# https://www.kaggle.com/datasets/nelgiriyewithana/countries-of-the-world-2023

The Big picture

ggplot(data = books, 
       mapping = aes(x = num_pages, 
                     y = average_rating)) +
  geom_point()

Start

ggplot()

Daten

ggplot(data = books)

Aesthetic mapping

Um diese leere Leinwand zu befüllen, müssen wir die Daten mit den benötigten visuellen Eigenschaften verknüpfen:

mapping = aes()

Je nach Plot-Art sind verschiedene Visuelle Eigenschaften möglich. Wichtig ist für uns jetzt erst einmal die Position, also x - und y-Achsen.

Aesthetic mapping: Achsen

ggplot(data = books, 
       mapping = aes(x = num_pages, 
                     y = average_rating))

Geometric Layers

ggplots sind aus verschiedenen Layern aufgebaut, die mithilfe eines + übereinander gelegt werden.

geom_

Layer

ggplot(data = books, 
       mapping = aes(x = num_pages, 
                     y = average_rating)) +
  geom_point()

Übung

Let’s take a deeper dive

Hier dann nochmal genauer durchgehen - Was haben wir eigentlich gemacht. Nicht zu sehr in den Basics verlieren, auch schneller tiefer reingehen (scales, coord system …)

Abspeichern